﻿
using System.Xml.Serialization;

namespace CMISForSharePoint.cmisTypes
{

    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(cmisChoiceXmlType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(cmisChoiceUriType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(cmisChoiceStringType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(cmisChoiceHtmlType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(cmisChoiceDecimalType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(cmisChoiceDateTimeType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(cmisChoiceIntegerType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(cmisChoiceIdType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(cmisChoiceBooleanType))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.1432")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://www.cmis.org/2008/05")]
    [System.Xml.Serialization.XmlRootAttribute("choice", Namespace = "http://www.cmis.org/2008/05", IsNullable = false)]
    public abstract partial class cmisChoiceType
    {

        private cmisChoiceType[] choiceField;

        private string indexField;

        private string keyField;

        private System.Xml.XmlAttribute[] anyAttrField;

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("choice")]
        public cmisChoiceType[] choice
        {
            get
            {
                return this.choiceField;
            }
            set
            {
                this.choiceField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(Form = System.Xml.Schema.XmlSchemaForm.Qualified, DataType = "integer")]
        public string index
        {
            get
            {
                return this.indexField;
            }
            set
            {
                this.indexField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute(Form = System.Xml.Schema.XmlSchemaForm.Qualified)]
        public string key
        {
            get
            {
                return this.keyField;
            }
            set
            {
                this.keyField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlAnyAttributeAttribute()]
        public System.Xml.XmlAttribute[] AnyAttr
        {
            get
            {
                return this.anyAttrField;
            }
            set
            {
                this.anyAttrField = value;
            }
        }
    }



    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.1432")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://www.cmis.org/2008/05")]
    [System.Xml.Serialization.XmlRootAttribute("choiceBoolean", Namespace = "http://www.cmis.org/2008/05", IsNullable = false)]
    public partial class cmisChoiceBooleanType : cmisChoiceType
    {

        private bool valueField;

        private bool valueFieldSpecified;

        /// <remarks/>
        public bool value
        {
            get
            {
                return this.valueField;
            }
            set
            {
                this.valueField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool valueSpecified
        {
            get
            {
                return this.valueFieldSpecified;
            }
            set
            {
                this.valueFieldSpecified = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.1432")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://www.cmis.org/2008/05")]
    [System.Xml.Serialization.XmlRootAttribute("choiceDateTime", Namespace = "http://www.cmis.org/2008/05", IsNullable = false)]
    public partial class cmisChoiceDateTimeType : cmisChoiceType
    {

        private System.DateTime valueField;

        private bool valueFieldSpecified;

        /// <remarks/>
        public System.DateTime value
        {
            get
            {
                return this.valueField;
            }
            set
            {
                this.valueField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool valueSpecified
        {
            get
            {
                return this.valueFieldSpecified;
            }
            set
            {
                this.valueFieldSpecified = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.1432")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://www.cmis.org/2008/05")]
    [System.Xml.Serialization.XmlRootAttribute("choiceDecimal", Namespace = "http://www.cmis.org/2008/05", IsNullable = false)]
    public partial class cmisChoiceDecimalType : cmisChoiceType
    {

        private decimal valueField;

        private bool valueFieldSpecified;

        /// <remarks/>
        public decimal value
        {
            get
            {
                return this.valueField;
            }
            set
            {
                this.valueField = value;
            }
        }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool valueSpecified
        {
            get
            {
                return this.valueFieldSpecified;
            }
            set
            {
                this.valueFieldSpecified = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.1432")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://www.cmis.org/2008/05")]
    [System.Xml.Serialization.XmlRootAttribute("choiceHtml", Namespace = "http://www.cmis.org/2008/05", IsNullable = false)]
    public partial class cmisChoiceHtmlType : cmisChoiceType
    {

        private System.Xml.XmlElement[] anyField;

        /// <remarks/>
        [System.Xml.Serialization.XmlAnyElementAttribute()]
        public System.Xml.XmlElement[] Any
        {
            get
            {
                return this.anyField;
            }
            set
            {
                this.anyField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.1432")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://www.cmis.org/2008/05")]
    [System.Xml.Serialization.XmlRootAttribute("choiceId", Namespace = "http://www.cmis.org/2008/05", IsNullable = false)]
    public partial class cmisChoiceIdType : cmisChoiceType
    {

        private string valueField;

        /// <remarks/>
        public string value
        {
            get
            {
                return this.valueField;
            }
            set
            {
                this.valueField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.1432")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://www.cmis.org/2008/05")]
    [System.Xml.Serialization.XmlRootAttribute("choiceInteger", Namespace = "http://www.cmis.org/2008/05", IsNullable = false)]
    public partial class cmisChoiceIntegerType : cmisChoiceType
    {

        private string valueField;

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "integer")]
        public string value
        {
            get
            {
                return this.valueField;
            }
            set
            {
                this.valueField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.1432")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://www.cmis.org/2008/05")]
    [System.Xml.Serialization.XmlRootAttribute("choiceString", Namespace = "http://www.cmis.org/2008/05", IsNullable = false)]
    public partial class cmisChoiceStringType : cmisChoiceType
    {

        private string valueField;

        /// <remarks/>
        public string value
        {
            get
            {
                return this.valueField;
            }
            set
            {
                this.valueField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.1432")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://www.cmis.org/2008/05")]
    [System.Xml.Serialization.XmlRootAttribute("choiceUri", Namespace = "http://www.cmis.org/2008/05", IsNullable = false)]
    public partial class cmisChoiceUriType : cmisChoiceType
    {

        private string valueField;

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute(DataType = "anyURI")]
        public string value
        {
            get
            {
                return this.valueField;
            }
            set
            {
                this.valueField = value;
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.1432")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://www.cmis.org/2008/05")]
    [System.Xml.Serialization.XmlRootAttribute("choiceXml", Namespace = "http://www.cmis.org/2008/05", IsNullable = false)]
    public partial class cmisChoiceXmlType : cmisChoiceType
    {

        private System.Xml.XmlElement[] anyField;

        /// <remarks/>
        [System.Xml.Serialization.XmlAnyElementAttribute()]
        public System.Xml.XmlElement[] Any
        {
            get
            {
                return this.anyField;
            }
            set
            {
                this.anyField = value;
            }
        }
    }

}